1550B - Maximum Cost Deletion - CodeForces Solution


greedy math *1000

Please click on ads to support us..

Python Code:

I=input
exec(int(I())*"n,a,b=map(int,I().split());s=x,*_=I();print(a*n+b*(n,s.count(x+'01'[x<'1'])+1)[b<0]);")

C++ Code:

/*ahmedkhaled*/
#include<iostream>
#include<string>
#include<iomanip>
#include <algorithm>
#include <math.h>
#include <vector>
#include <stack>
#include <queue>
#include<set>
#include <array>
#define ll long long
#define flash ios::sync_with_stdio(false), cout.tie(NULL), cin.tie(NULL);
using namespace std;
/*void fun(int &a,int &b){
    ll mn=min(a,b);
    a-=mn;
    b-=mn;
}*/
void go(){
    int n,a,b;
    cin>>n>>a>>b;
    string s;cin>>s;
    if(b>=0){
        cout<<n*(a+b)<<'\n';
    }else {
        int sum=1;
        for(int i=0;i+1<n;i++){
          if((s[i]!=s[i+1]))
                ++sum;

        }
    cout<<a*n+b*(sum/2+1)<<'\n';
    }
}



int main() {
   int t;cin>>t;
   while(t--){
       go();
   }
}
  			  		     		  		  			   	


Comments

Submit
0 Comments
More Questions

1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection
2B - The least round way
1324A - Yet Another Tetris Problem
246B - Increase and Decrease
22E - Scheme
1566A - Median Maximization
1278A - Shuffle Hashing
1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes
371A - K-Periodic Array
1542A - Odd Set
1567B - MEXor Mixup
669A - Little Artem and Presents
691B - s-palindrome
851A - Arpa and a research in Mexican wave
811A - Vladik and Courtesy
1006B - Polycarp's Practice
1422A - Fence